home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / frantic.swf / scripts / engine_cmg_v1_fla / polyRabbitIntro_122.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  11.8 KB  |  366 lines

  1. package engine_cmg_v1_fla
  2. {
  3.    import flash.display.Bitmap;
  4.    import flash.display.BitmapData;
  5.    import flash.display.BlendMode;
  6.    import flash.display.MovieClip;
  7.    import flash.events.Event;
  8.    import flash.events.MouseEvent;
  9.    import flash.filters.BlurFilter;
  10.    import flash.filters.GlowFilter;
  11.    import flash.geom.ColorTransform;
  12.    import flash.geom.Point;
  13.    import flash.media.SoundTransform;
  14.    import flash.net.URLRequest;
  15.    import flash.net.navigateToURL;
  16.    
  17.    [Embed(source="/_assets/assets.swf", symbol="engine_cmg_v1_fla.polyRabbitIntro_122")]
  18.    public dynamic class polyRabbitIntro_122 extends MovieClip
  19.    {
  20.        
  21.       
  22.       public var speeds:int;
  23.       
  24.       public var count:int;
  25.       
  26.       public var doneTicks:int;
  27.       
  28.       public var initPos:Array;
  29.       
  30.       public var trans_3:SoundTransform;
  31.       
  32.       public var snd_pUp:s_powerUp;
  33.       
  34.       public var p:Array;
  35.       
  36.       public var glowF:GlowFilter;
  37.       
  38.       public var blur:BlurFilter;
  39.       
  40.       public var bmpDataBk:BitmapData;
  41.       
  42.       public var acc:Number;
  43.       
  44.       public var posFound:Boolean;
  45.       
  46.       public var initPosRabbit:Array;
  47.       
  48.       public var bmp:Bitmap;
  49.       
  50.       public var atEnd:Boolean;
  51.       
  52.       public var bmpBk:Bitmap;
  53.       
  54.       public var webby:URLRequest;
  55.       
  56.       public var moveCount:int;
  57.       
  58.       public var drawP:Boolean;
  59.       
  60.       public var bmpData:BitmapData;
  61.       
  62.       public var drawingDone:Boolean;
  63.       
  64.       public function polyRabbitIntro_122()
  65.       {
  66.          super();
  67.          addFrameScript(0,frame1);
  68.       }
  69.       
  70.       public function applyBlur() : void
  71.       {
  72.          bmpDataBk.lock();
  73.          bmpDataBk.draw(bmpData,null,new ColorTransform(1,1,1,0.35),BlendMode.ADD);
  74.          bmpDataBk.applyFilter(bmpDataBk,bmpDataBk.rect,new Point(0,0),blur);
  75.          bmpDataBk.unlock();
  76.       }
  77.       
  78.       public function init() : void
  79.       {
  80.          var _loc1_:int = 0;
  81.          var _loc2_:int = 0;
  82.          var _loc3_:int = 0;
  83.          var _loc4_:int = 0;
  84.          var _loc5_:Number = NaN;
  85.          var _loc6_:Number = NaN;
  86.          var _loc7_:Number = NaN;
  87.          var _loc8_:Number = NaN;
  88.          var _loc9_:aGameBy = null;
  89.          var _loc10_:introFlash = null;
  90.          _loc1_ = 0;
  91.          _loc2_ = int(initPos.length);
  92.          _loc8_ = 1;
  93.          _loc1_ = 0;
  94.          while(_loc1_ < _loc2_)
  95.          {
  96.             _loc3_ = 190 + initPos[_loc1_][0];
  97.             _loc4_ = 243 + initPos[_loc1_][1];
  98.             if((_loc7_ = Math.random() * 3.2 - Math.random() * 3.2) < 2 && _loc7_ > 1)
  99.             {
  100.                _loc7_ = 1;
  101.             }
  102.             else if(_loc7_ > -2 && _loc7_ < -1)
  103.             {
  104.                _loc7_ = -2;
  105.             }
  106.             _loc5_ = Math.cos(_loc7_);
  107.             _loc6_ = Math.sin(_loc7_);
  108.             p.push([_loc3_,_loc4_,_loc5_,_loc6_,_loc8_]);
  109.             _loc1_++;
  110.          }
  111.          _loc2_ = int(initPosRabbit.length);
  112.          _loc1_ = 0;
  113.          while(_loc1_ < _loc2_)
  114.          {
  115.             _loc3_ = 262 + initPosRabbit[_loc1_][0];
  116.             _loc4_ = 243 + initPosRabbit[_loc1_][1];
  117.             if((_loc7_ = Math.random() * 3.2 - Math.random() * 3.2) < 2 && _loc7_ > 1)
  118.             {
  119.                _loc7_ = 1;
  120.             }
  121.             else if(_loc7_ > -2 && _loc7_ < -1)
  122.             {
  123.                _loc7_ = -2;
  124.             }
  125.             _loc5_ = Math.cos(_loc7_);
  126.             _loc6_ = Math.sin(_loc7_);
  127.             p.push([_loc3_,_loc4_,_loc5_,_loc6_,_loc8_]);
  128.             _loc1_++;
  129.          }
  130.          (_loc9_ = new aGameBy()).x = 250;
  131.          _loc9_.y = 230;
  132.          addChild(_loc9_);
  133.          (_loc10_ = new introFlash()).width = 500;
  134.          _loc10_.height = 500;
  135.       }
  136.       
  137.       internal function frame1() : *
  138.       {
  139.          snd_pUp = new s_powerUp();
  140.          trans_3 = new SoundTransform(0.5,0);
  141.          blur = new BlurFilter(2,2,2);
  142.          glowF = new GlowFilter(16777215,1,2,2,2,3,false,false);
  143.          bmpDataBk = new BitmapData(500,500,false,6804446);
  144.          bmpBk = new Bitmap(bmpDataBk);
  145.          addChild(bmpBk);
  146.          bmpData = new BitmapData(500,500,false,0);
  147.          bmp = new Bitmap(bmpData);
  148.          bmp.blendMode = BlendMode.ADD;
  149.          addChild(bmp);
  150.          acc = 0.001;
  151.          drawP = false;
  152.          initPos = [[0,0],[3,0],[6,0],[0,3],[6,3],[0,6],[6,6],[0,9],[3,9],[6,9],[0,12],[0,15],[10,0],[13,0],[16,0],[10,3],[16,3],[10,6],[16,6],[10,9],[16,9],[10,12],[16,12],[10,15],[13,15],[16,15],[20,0],[20,3],[20,6],[20,9],[20,12],[20,15],[23,15],[26,15],[30,0],[36,0],[30,3],[36,3],[30,6],[36,6],[30,9],[33,9],[36,9],[33,12],[33,15],[40,0],[46,0],[40,3],[43,3],[46,3],[40,6],[46,6],[40,9],[46,9],[40,12],[46,12],[40,15],[46,15],[50,0],[53,0],[56,0],[50,3],[50,6],[53,6],[50,9],[50,12],[50,15],[53,15],[56,15],[60,0],[63,0],[66,0],[60,3],[66,3],[60,6],[66,6],[60,9],[64,9],[60,12],[66,12],[60,15],[66,15]];
  153.          initPosRabbit = [[0,0],[3,0],[6,0],[0,3],[6,3],[0,6],[6,6],[0,9],[4,9],[0,12],[6,12],[0,15],[6,15],[10,0],[13,0],[16,0],[10,3],[16,3],[10,6],[13,6],[16,6],[10,9],[16,9],[10,12],[16,12],[10,15],[16,15],[20,0],[23,0],[26,0],[20,3],[26,3],[20,6],[23,6],[26,6],[20,9],[26,9],[20,12],[26,12],[20,15],[23,15],[26,15],[30,0],[33,0],[36,0],[30,3],[36,3],[30,6],[33,6],[36,6],[30,9],[36,9],[30,12],[36,12],[30,15],[33,15],[36,15],[41,0],[41,3],[41,6],[41,9],[41,12],[41,15],[48,0],[45,0],[51,0],[48,3],[48,6],[48,9],[48,12],[48,15]];
  154.          p = [];
  155.          init();
  156.          webby = new URLRequest("http://www.polymerrabbit.com");
  157.          this.addEventListener(MouseEvent.CLICK,reportClick);
  158.          addEventListener(Event.ENTER_FRAME,main);
  159.          posFound = false;
  160.          count = 0;
  161.          atEnd = false;
  162.          drawingDone = false;
  163.          moveCount = 0;
  164.          speeds = 0;
  165.          doneTicks = 0;
  166.       }
  167.       
  168.       public function moveP() : void
  169.       {
  170.          var _loc1_:int = 0;
  171.          var _loc2_:int = 0;
  172.          var _loc3_:Number = NaN;
  173.          var _loc4_:Number = NaN;
  174.          var _loc5_:introFlash = null;
  175.          _loc1_ = 0;
  176.          _loc2_ = int(p.length);
  177.          bmpData.lock();
  178.          bmpData.fillRect(bmpData.rect,0);
  179.          bmpData.unlock();
  180.          if(moveCount < count - 1)
  181.          {
  182.             ++moveCount;
  183.             _loc1_ = 0;
  184.             while(_loc1_ < _loc2_)
  185.             {
  186.                p[_loc1_][0] += p[_loc1_][2] * p[_loc1_][4];
  187.                p[_loc1_][1] += p[_loc1_][3] * p[_loc1_][4];
  188.                p[_loc1_][3] += 0.02;
  189.                _loc3_ = Number(p[_loc1_][0]);
  190.                if((_loc4_ = Number(p[_loc1_][1])) > 350)
  191.                {
  192.                   p[_loc1_][1] = 350;
  193.                   p[_loc1_][3] = -(p[_loc1_][3] * 0.9);
  194.                   _loc4_ = 350;
  195.                }
  196.                if(drawP == true)
  197.                {
  198.                   bmpData.lock();
  199.                   bmpData.setPixel(_loc3_,_loc4_,16777215);
  200.                   bmpData.setPixel(_loc3_ + 1,_loc4_,16777215);
  201.                   bmpData.setPixel(_loc3_,_loc4_ + 1,16777215);
  202.                   bmpData.setPixel(_loc3_ + 1,_loc4_ + 1,16777215);
  203.                   bmpData.unlock();
  204.                }
  205.                _loc1_++;
  206.             }
  207.          }
  208.          else
  209.          {
  210.             bmpDataBk.lock();
  211.             bmpDataBk.fillRect(bmpDataBk.rect,6804446);
  212.             bmpDataBk.unlock();
  213.             _loc2_ = int(initPos.length);
  214.             _loc1_ = 0;
  215.             while(_loc1_ < _loc2_)
  216.             {
  217.                _loc3_ = 190 + initPos[_loc1_][0];
  218.                _loc4_ = 240 + initPos[_loc1_][1];
  219.                bmpData.lock();
  220.                bmpData.setPixel(_loc3_,_loc4_,16777215);
  221.                bmpData.setPixel(_loc3_ + 1,_loc4_,16777215);
  222.                bmpData.setPixel(_loc3_,_loc4_ + 1,16777215);
  223.                bmpData.setPixel(_loc3_ + 1,_loc4_ + 1,16777215);
  224.                bmpData.unlock();
  225.                _loc1_++;
  226.             }
  227.             _loc2_ = int(initPosRabbit.length);
  228.             _loc1_ = 0;
  229.             while(_loc1_ < _loc2_)
  230.             {
  231.                _loc3_ = 262 + initPosRabbit[_loc1_][0];
  232.                _loc4_ = 240 + initPosRabbit[_loc1_][1];
  233.                bmpData.lock();
  234.                bmpData.setPixel(_loc3_,_loc4_,16777215);
  235.                bmpData.setPixel(_loc3_ + 1,_loc4_,16777215);
  236.                bmpData.setPixel(_loc3_,_loc4_ + 1,16777215);
  237.                bmpData.setPixel(_loc3_ + 1,_loc4_ + 1,16777215);
  238.                bmpData.unlock();
  239.                _loc1_++;
  240.             }
  241.             (_loc5_ = new introFlash()).width = 500;
  242.             _loc5_.height = 600;
  243.             addChild(_loc5_);
  244.             snd_pUp.play(0,0,trans_3);
  245.             drawingDone = true;
  246.          }
  247.          if(drawP == true)
  248.          {
  249.             applyBlur();
  250.          }
  251.       }
  252.       
  253.       public function reportClick(param1:MouseEvent) : void
  254.       {
  255.          navigateToURL(webby,"_blank");
  256.       }
  257.       
  258.       public function main() : void
  259.       {
  260.          var _loc2_:int = 0;
  261.          _loc2_ = 0;
  262.          if(!drawingDone)
  263.          {
  264.             if(!posFound)
  265.             {
  266.                _loc2_ = 0;
  267.                while(_loc2_ < 200)
  268.                {
  269.                   findPos();
  270.                   _loc2_++;
  271.                }
  272.             }
  273.             else
  274.             {
  275.                if(count - moveCount < 40)
  276.                {
  277.                   speeds = 1;
  278.                }
  279.                else
  280.                {
  281.                   speeds = 7;
  282.                }
  283.                drawP = false;
  284.                _loc2_ = 0;
  285.                while(_loc2_ < speeds)
  286.                {
  287.                   moveP();
  288.                   _loc2_++;
  289.                }
  290.                drawP = true;
  291.                moveP();
  292.             }
  293.          }
  294.          else if(doneTicks < 3)
  295.          {
  296.             applyBlur();
  297.             ++doneTicks;
  298.          }
  299.          else if(doneTicks >= 3 && doneTicks < 50)
  300.          {
  301.             ++doneTicks;
  302.          }
  303.          else
  304.          {
  305.             this.removeEventListener(MouseEvent.CLICK,reportClick);
  306.             doneTicks = 101;
  307.          }
  308.       }
  309.       
  310.       public function findPos() : void
  311.       {
  312.          var _loc1_:int = 0;
  313.          var _loc2_:int = 0;
  314.          var _loc3_:* = undefined;
  315.          var _loc4_:Number = NaN;
  316.          var _loc5_:Number = NaN;
  317.          _loc1_ = 0;
  318.          _loc2_ = int(p.length);
  319.          _loc3_ = true;
  320.          if(!posFound)
  321.          {
  322.             ++count;
  323.             if(count < 1000)
  324.             {
  325.                _loc1_ = 0;
  326.                while(_loc1_ < _loc2_)
  327.                {
  328.                   p[_loc1_][0] += p[_loc1_][2] * p[_loc1_][4];
  329.                   p[_loc1_][1] += p[_loc1_][3] * p[_loc1_][4];
  330.                   p[_loc1_][3] += 0.02;
  331.                   _loc4_ = Number(p[_loc1_][0]);
  332.                   if((_loc5_ = Number(p[_loc1_][1])) > 350)
  333.                   {
  334.                      p[_loc1_][3] = -(p[_loc1_][3] * 1.1);
  335.                   }
  336.                   if(_loc4_ < 500 && _loc4_ > 0 && _loc5_ < 500 && _loc5_ > 0)
  337.                   {
  338.                      _loc3_ = false;
  339.                   }
  340.                   _loc1_++;
  341.                }
  342.                if(_loc3_)
  343.                {
  344.                   _loc1_ = 0;
  345.                   while(_loc1_ < _loc2_)
  346.                   {
  347.                      _loc4_ = Number(p[_loc1_][2]);
  348.                      _loc5_ = Number(p[_loc1_][3]);
  349.                      _loc4_ = -_loc4_;
  350.                      _loc5_ = -_loc5_;
  351.                      p[_loc1_][2] = _loc4_;
  352.                      p[_loc1_][3] = _loc5_;
  353.                      _loc1_++;
  354.                   }
  355.                   posFound = true;
  356.                }
  357.             }
  358.             else
  359.             {
  360.                posFound = true;
  361.             }
  362.          }
  363.       }
  364.    }
  365. }
  366.